package com.pktechan.api.tradeOrderStatus;


import com.pktechan.api.enumeration.ChangeTradeOrderStatusEnum;
import com.pktechan.api.enumeration.TradeOrderStatusEnum;
import com.pktechan.api.exception.CustomException;

/**
 * @program: cloudfloating
 * @description: 改变订单状态策略接口
 * @author: qx.zhang
 * @create: 2021-03-15 11:27
 **/
public interface ChangeTradeOrderState {
    /**
     * 获取实现类对应的行为枚举
     *
     * @return
     */
    ChangeTradeOrderStatusEnum getMappingEnum();

    /**
     * 订单状态改变
     */
    void doChange(Integer tradeOrderId, Integer stateOld, Integer stateCur,
                  Integer custId, String exeRemark) throws CustomException;
}
